package com.xmy.erp.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 课程定价标准
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@TableName("course_pricing")
@ApiModel(value = "CoursePricing对象", description = "课程定价标准")
public class CoursePricing implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("对应course_pirce_school")
    private Long priceSchoolId;

    @ApiModelProperty("课程id")
    private Long courseId;

    @ApiModelProperty("学校id")
    private Long schoolId;

    @ApiModelProperty("数量")
    private Integer count;

    @ApiModelProperty("单位")
    private String countUnit;

    @ApiModelProperty("单位价格")
    private BigDecimal unitPrice;

    @ApiModelProperty("价格")
    private BigDecimal price;

    @ApiModelProperty("服务费")
    private BigDecimal servePrice;

    @ApiModelProperty("材料费")
    private BigDecimal materialsPrice;

    @ApiModelProperty("总费用=价格+服务费+材料费")
    private BigDecimal allPrice;

    @ApiModelProperty("收费模式，1按课时收费，2按时间收费，3按期收费")
    private Integer chargeMode;

    @ApiModelProperty("创建人id")
    private Long createdId;

    private Integer deleted;

    @ApiModelProperty("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty("deleted_at")
    private LocalDateTime deletedAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getPriceSchoolId() {
        return priceSchoolId;
    }

    public void setPriceSchoolId(Long priceSchoolId) {
        this.priceSchoolId = priceSchoolId;
    }
    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }
    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }
    public String getCountUnit() {
        return countUnit;
    }

    public void setCountUnit(String countUnit) {
        this.countUnit = countUnit;
    }
    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }
    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    public BigDecimal getServePrice() {
        return servePrice;
    }

    public void setServePrice(BigDecimal servePrice) {
        this.servePrice = servePrice;
    }
    public BigDecimal getMaterialsPrice() {
        return materialsPrice;
    }

    public void setMaterialsPrice(BigDecimal materialsPrice) {
        this.materialsPrice = materialsPrice;
    }
    public BigDecimal getAllPrice() {
        return allPrice;
    }

    public void setAllPrice(BigDecimal allPrice) {
        this.allPrice = allPrice;
    }
    public Integer getChargeMode() {
        return chargeMode;
    }

    public void setChargeMode(Integer chargeMode) {
        this.chargeMode = chargeMode;
    }
    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }

    @Override
    public String toString() {
        return "CoursePricing{" +
            "id=" + id +
            ", priceSchoolId=" + priceSchoolId +
            ", courseId=" + courseId +
            ", schoolId=" + schoolId +
            ", count=" + count +
            ", countUnit=" + countUnit +
            ", unitPrice=" + unitPrice +
            ", price=" + price +
            ", servePrice=" + servePrice +
            ", materialsPrice=" + materialsPrice +
            ", allPrice=" + allPrice +
            ", chargeMode=" + chargeMode +
            ", createdId=" + createdId +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
        "}";
    }
}
